Die Standardfunktionalität des Programms LibreOffice Calc umfasst keine Funktionen zum Übersetzen von Texten in andere Sprachen. Allerdings kann jeder Benutzer eine solche Funktion selbstständig erstellen.
In diesem Artikel betrachten wir die benutzerdefinierte Funktion GoogleTranslate_YouLibreCalc(), mit der Sie Text direkt in einer Zelle in einem beliebigen Arbeitsblatt übersetzen können.
Die Funktion nutzt die Site, um den Text zu übersetzen "Google Übersetzer" und kann sowohl unabhängig als auch zusammen mit anderen Standardfunktionen in beliebigen Formeln verwendet werden.
Hinzufügen Funktion Google Translate , öffnen Sie das Menü Tools - Macros - Edit Macros... , wählen Module1 und kopieren Sie den folgenden Text in das Modul:
Option VBASupport 1 Function GoogleTranslate_YouLibreCalc(TextToTranslate As String, SrcLang As String, TrgLang As String) ' moonexcel.com.ua Dim FCalc As Object Dim WebsiteURL As String Dim XMLHTTP As Object Dim oHTML As Object Dim HTMLDoc As HTMLDocument Dim ObjClass As Object FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess") TextToTranslate = FCalc.callFunction("ENCODEURL", Array(TextToTranslate)) SrcLang = LCase(SrcLang) TrgLang = LCase(TrgLang) IF SrcLang = "zh-cn" Then SrcLang = "zh-CN" IF SrcLang = "zh-tw" Then SrcLang = "zh-TW" IF TrgLang = "zh-cn" Then TrgLang = "zh-CN" IF TrgLang = "zh-tw" Then TrgLang = "zh-TW" WebsiteURL = "https://translate.google.com/m?sl=" + SrcLang + "&tl=" + TrgLang + "&hl=en&q=" + TextToTranslate ' Wir führen den API-Aufruf an den Webserver mit der AJAX-Anfrage aus Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP") XMLHTTP.Open "GET", WebsiteURL, False XMLHTTP.Send ' Wir erstellen ein HTML-Dokument mit dem Antworttext der AJAX-Anfrage Set oHTML = CreateObject("HTMLFile") With oHTML .Open .Write XMLHTTP.responseText .Close End With ' Wir konvertieren HTML-Text mithilfe der Bibliothek von Webelementen Microsoft HTML Object in ein Objektmodell Set HTMLDoc = oHTML Set ObjClass = HTMLDoc.getElementsByClassName("result-container").Item(0) If Not ObjClass Is Nothing Then GoogleTranslate_YouLibreCalc = ObjClass.innerText End If ' Wir befreien die Erinnerung Set ObjClass = Nothing Set oHTML = Nothing Set XMLHTTP = Nothing End Function
Als nächstes schließen Macro Editor und kehren Sie zum Arbeitsblatt zurück LibreOffice Calc , wählen Sie eine beliebige Zelle aus und nutzen Sie unsere neue Funktion GoogleTranslate_YouLibreCalc() .
Sie können auch die Funktion GOOGLETRANSLATE() verwenden, indem Sie die kostenlose Erweiterung installieren YouLibreCalc.oxt oder die Vollversion YLC_Utilities.oxt .
Danach steht diese Funktion in allen Dateien zur Verfügung, die in LibreOffice Calc geöffnet werden.